Python 核心編程, 3/e (Core Python Applications Programming, 3/e)

Python 核心編程, 3/e (Core Python Applications Programming, 3/e)

作者: 衛斯理•春(Wesley Chun)
出版社: 人民郵電
出版在: 2016-05-25
ISBN-13: 9787115414779
ISBN-10: 7115414777
裝訂格式: 平裝
總頁數: 660 頁





內容描述


<內容簡介>
Python核心編程(第3版)》是經典暢銷圖書《Python核心編程(第二版)》的全新升級版本,總共分為3部分。第1部分為講解了Python的一些通用應用,包括正則表達式、網絡編程、Internet客戶端編程、多線程編程、GUI編程、數據庫編程、Microsoft;Office編程、擴展Python等內容。第2部分講解了與Web開發相關的主題,包括Web客戶端和服務器、CGI和WSGI相關的Web編程、Django;Web框架、雲計算、高級Web服務。第3部分則為一個補充/實驗章節,包括文本處理以及一些其他內容。《Python核心編程(第3版)》適合具有一定經驗的Python開發人員閱讀。  

<目錄>第1部分;通用應用主題
第1章;正則表達式;21.1;簡介/動機;31.2;特殊符號和字符;51.2.1;使用​​擇一匹配符號匹配多個正則表達式模式;61.2.2;匹配任意單個字符;61.2.3;從字符串起始或者結尾或者單詞邊界匹配;71.2.4;創建字符集;81.2.5;限定範圍和否定;81.2.6;使用閉包操作符實現存在性和頻數匹配;91.2.7;表示字符集的特殊字符;101.2.8;使用圓括號指定分組;101.2.9;擴展表示法;111.3;正則表達式和Python語言;111.3.1;re模塊:核心函數和方法;121.3.2;使用compile()函數編譯正則表達式;131.3.3;匹配對像以及group()和groups()方法;141.3.4;使用match()方法匹配字符串;141.3.5;使用search()在一個字符串中查找模式(搜索與匹配的對比);151.3.6;匹配多個字符串;161.3.7;匹配任何單個字符(.);161.3.8;創建字符集([;]);171.3.9;重複、特殊字符以及分組;181.3.10;匹配字符串的起始和結尾以及單詞邊界;201.3.11;使用findall()和finditer()查找每一次出現的位置;211.3.12;使用sub()和subn()搜索與替換;221.3.13;在限定模式上使用split()分隔字符串;231.3.14;擴展符號;241.3.15;雜項;271.4;一些正則表達式示例;281.5;更長的正則表達式示例;331.5.1;匹配字符串;351.5.2;搜索與匹配……還有貪婪;371.6;練習;39第2章;網絡編程;422.1;簡介;432.2;客戶端/服務器架構;432.2.1;硬件客戶端/服務器架構;432.2.2;軟件客戶端/服務器架構;442.2.3;銀行出納員作為服務器嗎;442.2.4;客戶端/服務器網絡編程;452.3;套接字:通信端點;462.3.1;套接字;462.3.2;套接字地址:主機-埠對;472.3.3;面向連接的套接字與無連接的套接字;472.4;Python中的網絡編程;482.4.1;socket()模塊函數;492.4.2;套接字對象(內置)方法;492.4.3;創建TCP服務器;512.4.4;創建TCP客戶端;542.4.5;執行TCP服務器和客戶端;562.4.6;創建UDP服務器;582.4.7;創建UDP客戶端;592.4.8;執行UDP服務器和客戶端;602.4.9;socket模塊屬性;612.5;SocketServer模塊;622.5.1;創建SocketServer;TCP服務器;632.5.2;創建SocketServer;TCP客戶端;642.5.3;執行TCP服務器和客戶端;652.6;Twisted框架介紹;662.6.1;創建Twisted;Reactor;TCP服務器;662.6.2;創建Twisted;Reactor;TCP客戶端;672.6.3;執行TCP服務器和客戶端;692.7;相關模塊;692.8;練習;70第3章;因特網客戶端編程;743.1;因特網客戶端簡介;753.2;文件傳輸;753.2.1;文件傳輸因特網協議;753.2.2;文件傳輸協議;763.2.3;Python和FTP;773.2.4;ftplib.FTP類的方法;773.2.5;交互式FTP示例;783.2.6;客戶端FTP程序示例;793.2.7;FTP的其他內容;803.3;網絡新聞;813.3.1;Usenet與新聞組;813.3.2;網絡新聞傳輸協議;823.3.3;Python和NNTP;833.3.4;nntplib.NNTP類方法;833.3.5;交互式NNTP示例;843.3.6;客戶端程序NNTP示例;853.3.7;NNTP的其他內容;893.4;電子郵件;903.4.1;電子郵件系統組件和協議;903.4.2;發送電子郵件;913.4.3;Python和SMTP;923.4.4;smtplib.SMTP類方法;923.4.5;交互式SMTP示例;933.4.6;SMTP的其他內容;943.4.7;接收電子郵件;943.4.8;POP和IMAP;953.4.9;Python和POP3;953.4.10;交互式POP3示例;963.4.11;poplib.POP3類方法;973.4.12;客戶端程序SMTP和POP3示例;983.4.13;Python和IMAP4;1003.4.14;交互式IMAP4示例;1003.4.15;imaplib.IMAP4類中的常用方法;1013.5;實戰;1023.5.1;生成電子郵件;1023.5.2;解析電子郵件;1043.5.3;基於Web的雲電子郵件服務;1053.5.4;最佳實踐:安全、重構;1063.5.5;Yahoo!;Mail;1083.5.6;Gmail;1123.6;相關模塊;1153.6.1;電子郵件;1153.6.2;其他因特網客戶端協議;1153.7;練習;116第4章;多線程編程;1224.1;簡介/動機;1234.2;線程和進程;1244.2.1;進程;1244.2.2;線程;1244.3;線程和Python;1254.3.1;全局解釋器鎖;1254.3.2;退出線程;1264.3.3;在Python中使用線程;1264.3.4;不使用線程的情況;1264.3.5;Python的threading模塊;1284.4;thread模塊;1284.5;threading模塊;1324.5.1;Thr​​ead類;1334.5.2;threading模塊的其他函數;1394.6;單線程和多線程執行對比;1404.7;多線程實踐;1424.7.1;圖書排名示例;1424.7.2;同步原語;1494.7.3;鎖示例;1494.7.4;信號量示例;1564.8;生產者-消費者問題和Queue/queue模塊;1594.9;線程的替代方案;1624.9.1;subprocess模塊;1634.9.2;multiprocessing模塊;1634.9.3;concurrent.futures模塊;1634.10;相關模塊;1654.11;練習;165第5章;GUI編程;1685.1;簡介;1695.1.1;Tcl、Tk和Tkinter;1695.1.2;安裝和使用Tkinter;1705.1.3;客戶端/服務端架構;1705.2;Tkinter和Python編程;1705.2.1;Tkinter模塊:添加Tk到應用中;1715.2.2;GUI編程介紹;1715.2.3;頂層窗口:Tkinter.Tk();1735.2.4;Tk控件;1735.3;Tkinter示例;1745.3.1;Label控件;1745.3.2;Button控件;1755.3.3;Label和Button控件;1755.3.4;Label、Button和Scale控件;1765.3.5;偏函數應用示例;1785.3.6;中級Tkinter示例;1805.4;其他GUI簡介;1855.4.1;Tk接口擴展(Tix);1875.4.2;Python;MegaWidgets(PMW);1885.4.3;wxWidgets和wxPython;1885.4.4;GTK+和PyGTK;1905.4.5;Tile/Ttk;1925.5;相關模塊和其他GUI;1945.6;練習;196第6章;數據庫編程;1986.1;簡介;1996.1.1;持久化存儲;1996.1.2;數據庫基本操作和SQL;1996.1.3;數據庫和Python;2016.2;Python的DB-API;2036.2.1;模塊屬性;2036.2.2;Connection對象;2056.2.3;Cursor對象;2066.2.4;類型對象和構造函數;2076.2.5;關係數據庫;2096.2.6;數據庫和Python:適配器;2106.2.7;使用數據庫適配器的示例;2106.2.8;數據庫適配器示例應用;2156.3;ORM;2266.3.1;考慮對象,而不是SQL;2276.3.2;Python和ORM;2276.3.3;員工角色數據庫示例;2286.3.4;SQLAlchem​​y;2296.3.5;SQLObject;2406.4;非關係數據庫;2456.4.1;NoSQL介紹;2456.4.2;MongoDB;2466.4.3;PyMongo:MongoDB和Python;2466.4.4;總結;2506.5;相關文獻;2506.6;練習;252第7章;Microsoft;Office編程;2567.1;簡介;2577.2;使用Python進行COM客戶端編程;2577.2.1;客戶端COM編程;2587.2.2;入門;2587.3;入門示例;2597.3.1;Excel;2597.3.2;Word;2617.3.3;PowerPoint;2627.3.4;Outlook;2647.4;中級示例;2667.4.1;Excel;2667.4.2;Outlook;2687.4.3;PowerPoint;2737.4.4;總結;2807.5;相關模塊/包;2817.6;練習;281第8章;擴展Python;2868.1;簡介和動機;2878.1.1;Python擴展簡介;2878.1.2;什麼情況下需要擴展Python;2888.1.3;什麼情況下不應該擴展Python;2888.2;編寫Python擴展;2898.2.1;創建應用代碼;2898.2.2;根據樣板編寫封裝代碼;2918.2.3;編譯;2968.2.4;導入並測試;2978.2.5;引用計數;3008.2.6;線程和全局解釋器鎖;3018.3;相關主題;3028.3.1;SWIG;3028.3.2;Pyrex;3028.3.3;Cython;3028.3.4;Psyco;3038.3.5;PyPy;3038.3.6;嵌入Python;3048.4;練習;304
第2部分;Web開發
第9章;Web客戶端和服務器;3069.1;簡介;3079.1.1;Web應用:客戶端/服務器計算;3079.1.2;因特網;3089.2;Python;Web客戶端工具;3109.2.1;統一資源定位符;3109.2.2;urlparse模塊;3129.2.3;urllib模塊/包;3139.2.4;使用urllib2;HTTP驗證的示例;3179.2.5;將HTTP驗證示例移植到Python;3中;3199.3;Web客戶端;3229.3.1;一個簡單的Web爬蟲/蜘蛛/機器人;3229.3.2;解析Web頁面;3289.3.3;可編程的Web瀏覽;3339.4;Web(HTTP)服務器;3369.5;相關模塊;3399.6;練習;341第10章;Web編程:CGI和WSGI;34510.1;簡介;34610.2;幫助Web服務器處理客戶端數據;34610.2.1;CGI簡介;34610.2.2;CGI應用程序;34710.2.3;cgi模塊;34810.2.4;cgitb模塊;34810.3;構建CGI應用程序;34910.3.1;構建Web服務器;34910.3.2;建立表單頁;35110.3.3;生成結果頁面;35210.3.4;生成表單和結果頁面;35310.3.5;全面交互的Web站點;35710.4;在CGI中使用Unicode;36210.5;高級CGI;36410.5.1;mulitipart表單提交和文件上傳;36410.5.2;多值字段;36410.5.3;cookie;36510.5.4;cookie和文件上傳;36510.6;WSGI簡介;37310.6.1;動機(替代CGI);37310.6.2;服務器集成;37410.6.3;外部進程;37410.6.4;WSGI簡介;37510.6.5;WSGI服務器;37610.6.6;參考服務器;37710.6.7;WSGI應用示例;37810.6.8;中間件及封裝WSGI應用;37810.6.9;在Python;3中使用WSGI;37910.7;現實世界中的Web開發;38010.8;相關模塊;38010.9;練習;381第11章;Web框架:Django;38411.1;簡介;38511.2;Web框架;38511.3;Django簡介;38611.4;項目和應用;39011.4.1;在Django中創建項目;39011.4.2;運行開發服務器;39311.5;“Hello;World”應用(一個博客);39411.6;創建模型來添加數據庫服務;39611.6.1;設置數據庫;39611.6.2;創建表;39811.7;Python;應用shell;40011.7.1;在Django中使用Python;shell;40011.7.2;測試數據模型;40211.8;Django管理應用;40311.8.1;設置admin;40311.8.2;使用admin;40411.9;創建博客的用戶界面;41011.9.1;創建模板;41111.9.2;創建URL模式;41211.9.3;創建視圖函數;41511.10;改進輸出;41811.11;處理用戶輸入;42211.11.1;模板:添加HTML表單;42311.11.2;添加URLconf項;42311.11.3;視圖:處理用戶輸入;42311.11.4;跨站點請求偽造;42411.12;表單和模型表單;42611.12.1;Django表單簡介;42611.12.2;模型表單示例;42711.12.3;使用ModelForm來生成HTML表單;42711.12.4;處理ModelForm數據;42811.13;視圖進階;42911.14;
改善外觀;43111.15;單元測試;43211.15.1;blog應用的代碼審查;43411.15.2;blog應用總結;43911.16;中級Django應用:TweetApprover;43911.16.1;創建項目文件結構;44011.16.2;安裝Twython庫;44511.16.3;URL結構;44611.16.4;數據模型;44911.16.5;提交新推文以便審核;45311.16.6;審核推文;45711.17;資源;46511.18;總結;46511.19;練習;466第12章;雲計算:Google;App;Engine;47012.1;簡介;47112.2;雲計算;47112.2.1;雲計算服務的層次;47212.2.2;App;Engine;47312.3;沙盒和App;Engine;SDK;47612.4;選擇一個App;Engine框架;47912.5;Python;2.7支持;48512.5.1;一般差異;48612.5.2;代碼中的差異;48612.6;與Django比較;48712.6.1;開始“Hello;World”;48712.6.2;手動創建“Hello;World”(Zip文件用戶);48812.7;將“Hello;World”改成一個;簡單的博客;48912.7.1;快速發現改動:30秒內將純文本轉成HTML;48912.7.2;添加表單;49012.7.3;添加Datastore服務;49212.7.4;迭代改進;49612.7.5;開發/SDK控制台;49612.8;添加Memcache服務;50212.9;靜態文件;50512.10;添加用戶服務;50512.10.1;Google賬號驗證;50612.10.2;聯合驗證;50712.11;遠程API;shell;50712.12;問與答(Python實現);50912.12.1;發送電子郵件;50912.12.2;接收電子郵件;51012.13;使用XMPP發送即時消息;51212.14;處理圖片;51412.15;任務隊列(非定期任務);51412.15.1;創建任務;51512.15.2;配置app.yaml;51512.15.3;其他任務創建選項;51612.15.4;將發送電子郵件作為任務;51712.15.5;deferred包;51912.16;使用Appstats進行分析;52012.16.1;在app.yaml中添加標準處理程序;52112.16.2;添加自定義Admin;Console頁面;52112.16.3;作為內置界面啟用界面;52112.17;URLfetch服務;52212.18;問與答(無Python實現);52212.18.1;Cron服務(計劃任務作業);52312.18.2;預熱請求;52312.18.3;DoS保護;52412.19;廠商鎖定;52412.20;資源;52512.21;總結;52612.22;練習;527第13章;Web服務;53013.1;簡介;53113.2;Yahoo!金融股票報價服務器;53113.3;Twitter微博;53413.3.1;社交網絡;53413.3.2;Twitter和Python;53513.3.3;稍微長一點的API組合應用示例;53713.3.4;總結;54713.3.5;額外在線資源;54813.4;練習;548
第3部分;補充/實驗章節
第14章;文本處理;55314.1;逗號分隔值(CSV);55414.1.1;CSV簡介;55414.1.2;再論股票投資組合示例;5​​5614.2;JSON;55714.3;可擴展標記語言;56114.3.1;XML簡介;56214.3.2;Python和XML;56214.3.3;XML實戰;56614.3.4;*使用XML-RPC的客戶端-服務器服務;56914.4;參考文獻;57314.5;相關模塊;57414.6;練習;574第15章;其他內容;57715.1;Jython;57815.1.1;Jython簡介;57815.1.2;Swing;GUI開發示例;57915.2;Google+;58115.2.1;Google+平臺簡介;58215.2.2;Python和Google+API;58215.2.3;一個簡單的社交媒體分析工具;58215.3;練習;590附錄A;部分練習參考答案;593附錄B;參考表;597B.1;Python關鍵字;597B.2;Python標準操作符和函數;598B.3;數值類型操作符和函數;599B.4;序列類型操作符和函數;600B.5;字符串格式化操作符轉換符號;602B.6;字符串格式化操作符指令;603B.7;字符串類型內置方法;603B.8;列表類型內置方法;605B.9;字典類型內置方法;605B.10;集合類型操作符和內置函數;606B.11;文件對象方法和數據屬性;607B.12;Python異常;608B.13;類的特殊方法;610B.14;Python操作符匯總;612附錄C;Python;3:一種編程語言進化的產物;614C.1;為何Python在變化;614C.2;都發生了哪些變化;615C.2.1;print變成了print();615C.2.2;字符串:默認為Unicode編碼;616C.2.3;單類類型;616C.2.4;更新異常的語法;617C.2.5;整數的更新;618C.2.6;迭代器無處不在;619C.3;遷移工具;619C.3.1;2to3工具;619C.3.2;Python;2.6+;620C.4;結論;620C.5;參考資料;620附錄D;利用Python;2.6+向Python;3遷移;622D.1;Python;3:Python的下一代;622D.2;整數;623D.2.1;單整數類型;624D.2.2;新型二進制和改進的八進製字符;624D.2.3;經典除法或真除法;625D.3;內置函數;626D.3.1;print語句或print()函數;626D.3.2;reduce()轉移到了functools模塊中;627D.3.3;其他更新;627D.4;面向對象編程:兩種不同的類對象;628D.5;字符串;629D.6;異常;630D.6.1;處理異常(使用as);630D.6.2;拋出異常;630D.7;其他轉換工具和技巧;631D.8;編寫兼容版本2.x和3.x的代碼;632D.8.1;對比print和print();632D.8.2;將你的方法導入解決方案中;633D.8.3;整合在一起;634D.9;結論;635




相關書籍

Social Media Data Mining and Analytics

作者 Gabor Szabo Gungor Polatkan P. Oscar Boykin Antonios Chalkiopoulos

2016-05-25

精通 Tableau 商業數據分析與可視化

作者 王國平

2016-05-25

Python Testing with Selenium: Learn to Implement Different Testing Techniques Using the Selenium Webdriver

作者 Raghavendra Sujay

2016-05-25